IoC注入方式1
本文相关代码(来自官方源码spring-test模块)请参见spring-framework org.springframework.mylearntest包下。
构造方法注入
public FXNewsProvider(IFXNewsListener newsListner,IFXNewsPersister newsPersister) {
this.newsListener = newsListner;
this.newPersistener = newsPersister;
}
- 优点:对象在构造完成之后,即已进入就绪状态,可以马上使用。
- 缺点: 当依赖对象比较多的时候,构造方法的参数列表会比较长。而通过反射构造对象的时候,对相同类型的参数的处理会比较困难,维护和使用上也比较麻烦。而且在Java中,构造方法无法被继承,无法设置默认值。对于非必须的依赖处理,可能需要引入多个构造方法,而参数数量的变动可能造成维护上的不便。